﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace handvn.Models
{
    public class User
    {
        public string UserID { get; set; }
        [Required(ErrorMessage = "Tên đăng nhập còn trống.")]
        [Display(Name = "User name")]
        public string Username { get; set; }
        [Required(ErrorMessage = "Bạn chưa điền vào mật khẩu")]
        [DataType(DataType.Password)]
        [Display(Name = "Password")]
        public string Password1 { get; set; }
        public string Password2 { get; set; }
        [Display(Name = "Họ tên")]
        public string TenKhachhang { get; set; }
        [Display(Name = "CMND/Hộ chiếu")]
        public string CMND { get; set; }
        [Display(Name = "Điện thoại")]
        public string DienThoai { get; set; }
        [Display(Name = "Email")]
        public string Email { get; set; }
        [Display(Name = "Địa chỉ")]
        public string DiaChi { get; set; }

        [Display(Name = "Ngày đăng ký")]
        [Required(ErrorMessage = "dd/mm/yyyy")]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:dd/mm/yyyy}")]
        public DateTime? NgayDangKy { get; set; }

        [Display(Name = "Hình ảnh")]
        public string HinhAnh { get; set; }
        public int CategoriesUserID { get; set; }
        [Display(Name = "Tình trạng")]
        public bool TinhTrang { get; set; }

        public virtual ICollection<Product> Product { get; set; }
        public virtual ICollection<Comment> Comment { get; set; }
        public virtual CategoriesUser  CategoriesUser { get; set; }
    }

    public class UserDangKy
    {
        public string UserID { get; set; }
        [Required(ErrorMessage = "Bạn chưa điền tên đăng nhập.")]
        [Display(Name = "Tên đăng nhập")]
        public string Username { get; set; }


        [Required(ErrorMessage = "Bạn chưa điền vào mật khẩu.")]
        [StringLength(100, ErrorMessage = "Mật khẩu phải có ít nhất là {2} kí tự", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Mật khẩu")]
        public string Password1 { get; set; }

        [Required(ErrorMessage = "Bạn chưa nhập lại mật khẩu.")]
        [StringLength(100, ErrorMessage = "Mật khẩu phải có ít nhất là {2} kí tự", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Nhập lại mật khẩu")]
        [Compare("Password1", ErrorMessage = "Nhập lại mật khẩu không chính xác.")]
        public string ConfirmPassword { get; set; }

        [Required(ErrorMessage = "Bạn chưa điền vào họ tên")]
        [Display(Name = "Họ tên")]
        public string TenKhachhang { get; set; }

        [Required(ErrorMessage = "Bạn chưa điền vào số cmnd/hộ chiếu.")]
        [StringLength(100, ErrorMessage = "CMND phải có ít nhất là {2} kí tự", MinimumLength = 9)]
        [Display(Name = "CMND/Hộ chiếu")]
        public string CMND { get; set; }

        [Required(ErrorMessage = "Bạn chưa điền vào số điện thoại.")]
        [Display(Name = "Điện thoại")]
        public string DienThoai { get; set; }

        [Required(ErrorMessage = "Email không hợp lệ.")]
        [DataType(DataType.EmailAddress)]
        [Display(Name = "Email")]
        public string Email { get; set; }

        [Required(ErrorMessage = "Bạn chưa điền vào địa chỉ.")]
        [Display(Name = "Địa chỉ")]
        public string DiaChi { get; set; }

        [Display(Name = "Ngày đăng ký")]
        [Required(ErrorMessage = "dd/mm/yyyy")]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:dd/mm/yyyy}")]
        public DateTime? NgayDangKy { get; set; }

        [Display(Name = "Hình ảnh")]
        public string HinhAnh { get; set; }
        public int CategoriesUserID { get; set; }
        [Display(Name = "Tình trạng")]
        public bool TinhTrang { get; set; }
    }
}